interface notifyState {
  notifyUserId: number
  notifyNickname: string
  notifyAvatar: string
  notifyType: string
}

const communicationNotifyModule = {
  state: (): notifyState => ({
    notifyUserId: 0,
    notifyNickname: '',
    notifyAvatar: '',
    notifyType: ''
  }),
  mutations: {
    SET_NOTIFY_USER_ID(state: notifyState, userId: number) {
      state.notifyUserId = userId
    },
    SET_NOTIFY_NICKNAME(state: notifyState, nickname: string) {
      state.notifyNickname = nickname
    },
    SET_NOTIFY_AVATAR(state: notifyState, avatar: string) {
      state.notifyAvatar = avatar
    },
    SET_NOTIFY_TYPE(state: notifyState, type: string) {
      state.notifyType = type
    },
    FLUSH_ALL_NOTIFY_DATA(state: notifyState) {
      state.notifyUserId = 0
      state.notifyNickname = ''
      state.notifyAvatar = ''
      state.notifyType = ''
    }
  },
  getters: {
    getNotifyUserId: (state: notifyState) => state.notifyUserId,
    getNotifyNickname: (state: notifyState) => state.notifyNickname,
    getNotifyAvatar: (state: notifyState) => state.notifyAvatar,
    getNotifyType: (state: notifyState) => state.notifyType
  }
}

export default communicationNotifyModule
